package com.chat.service;

import com.chat.entry.dto.user.*;
import com.chat.entry.po.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chat.result.Result;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author author
 * @since 2025-08-10
 */
public interface IUserService extends IService<User> {

    Result generateVerificationCode();

    Result sendVerificationCode(String phoneNumber, String imageCode);

    Result<String> register(UserRegisterDTO userRegisterDTO, String phoneCode);

    Result login(UserRegisterDTO userRegisterDTO);

    Result phoneLogin(PhoneLoginDTO phoneLoginDTO);

    Result updateUsername(Integer uid, UpdateUsernameDTO updateUsernameDTO);

    Result updateIntro(Integer uid, UpdateIntroDTO updateIntroDTO);

    Result updatePassword(Integer uid, UpdatePasswordDTO updatePasswordDTO);

    Result updateComplete(Integer uid, UpdateUserCompleteDTO updateUserCompleteDTO);

    Result getUser(Integer userId);

    Result forgetPassword(String phoneNumber,String password);

    Result sendPhoneCode(String phoneNumber);
}
